At present, memory devices using nonvolatile semiconductor memories such as flash memories are used as recording media for music data and image data. Such a memory device often contains a controller for controlling the memory. The controller serves as an interface between a file system of a host into which the above memory device is inserted and the semiconductor memory, for example. One of its objects is to translate a request from the file system of the host in accordance with the characteristic of the semiconductor memory, for example.
As a typical example of the flash memory used in the memory device, a NAND flash memory is given. Data cannot be overwritten in the NAND flash memory. Therefore, when the memory device receives a request of overwriting from the file system, the controller issues an instruction corresponding to the characteristic of the NAND flash memory to the NAND flash memory to indirectly execute the request of overwriting on the memory device side.
The memory device is required to have larger storage capacity and a high-speed operation. In order to realize the larger storage capacity of the memory device, the storage capacity of the flash memory is increased. As means for realizing the large storage capacity of the flash memory, miniaturization of the area of each cell of the flash memory, use of multiple bits for information stored in one cell and the like are known. However, the technique for storing multiple-bits in one cell is advanced and complicated technique and it tends to take a long time to perform processing. This conflicts with the requirement of high-speed operation even if large storage capacity of the memory device can be realized.